import { post, get } from './request'

// 认证相关API

/**
 * 微信小程序登录
 * @param {Object} params - 登录参数
 * @param {string} params.code - 微信登录凭证
 * @param {Object} params.userInfo - 用户信息
 * @param {string} params.platform - 平台标识
 */
export const wechatLogin = (params) => {
  return post('/auth/wechat-login', params)
}

/**
 * 短信验证码登录
 * @param {Object} params - 登录参数
 * @param {string} params.phone - 手机号
 * @param {string} params.code - 验证码
 * @param {string} params.platform - 平台标识
 */
export const smsLogin = (params) => {
  return post('/auth/sms-login', params)
}

/**
 * 发送短信验证码
 * @param {Object} params - 参数
 * @param {string} params.phone - 手机号
 */
export const sendSmsCode = (params) => {
  return post('/auth/send-sms', params)
}

/**
 * 刷新访问令牌
 * @param {Object} params - 参数
 * @param {string} params.refreshToken - 刷新令牌
 */
export const refreshToken = (params) => {
  return post('/auth/refresh-token', params)
}

/**
 * 用户登出
 */
export const logout = () => {
  return post('/auth/logout')
}

/**
 * 绑定手机号
 * @param {Object} params - 参数
 * @param {string} params.phone - 手机号
 * @param {string} params.code - 验证码
 */
export const bindPhone = (params) => {
  return post('/auth/bind-phone', params)
}

/**
 * 绑定微信账号
 * @param {Object} params - 参数
 * @param {string} params.code - 微信登录凭证
 * @param {Object} params.userInfo - 用户信息
 */
export const bindWechat = (params) => {
  return post('/auth/bind-wechat', params)
}

/**
 * 获取当前用户信息
 */
export const getUserProfile = () => {
  return get('/auth/profile')
}

/**
 * 验证令牌有效性
 */
export const verifyToken = () => {
  return get('/auth/verify')
}

// 数据同步相关API

/**
 * 同步用户数据
 */
export const syncUserData = () => {
  return post('/sync/user-data')
}

/**
 * 检查同步状态
 */
export const checkSyncStatus = () => {
  return get('/sync/status')
}

/**
 * 强制同步数据
 */
export const forceSyncData = () => {
  return post('/sync/force')
}

/**
 * 获取跨端登录记录
 */
export const getCrossPlatformLogins = () => {
  return get('/sync/cross-platform-logins')
}

/**
 * 检查账户绑定状态
 */
export const getBindingStatus = () => {
  return get('/sync/binding-status')
}

/**
 * 获取跨端状态
 */
export const getCrossPlatformState = () => {
  return get('/sync/cross-platform-state')
}

/**
 * 同步跨端用户状态
 */
export const syncCrossPlatformState = () => {
  return post('/sync/cross-platform-state')
}

/**
 * 验证数据一致性
 */
export const validateDataConsistency = () => {
  return post('/sync/validate-consistency')
}
